<?php
#+------------------------------------------------------------------
#| 我曾七次鄙视自己的灵魂:
#| 第一次,当它本可进取时，却故作谦卑；
#| 第二次,当它空虚时，用爱欲来填充；
#| 第三次,在困难和容易之间，它选择了容易；
#| 第四次,它犯了错，却借由别人也会犯错来宽慰自己；
#| 第五次,它自由软弱，却把它认为是生命的坚韧；
#| 第六次,当它鄙夷一张丑恶的嘴脸时，却不知那正是自己面具中的一副；
#| 第七次,它侧身于生活的污泥中虽不甘心，却又畏首畏尾。
#+------------------------------------------------------------------
#| Author:Janmas Cromwell <janmas-cromwell@outlook.com>
#+------------------------------------------------------------------
namespace app\common\model;

use think\Model;
use think\model\concern\SoftDelete;

/**
 * @property int $id
 * @property string $url
 * @property string $short_code
 * @property int $expire_time
 * @property int $status
 * @property string $scene
 * @property int $user_id
 */
class ShortUrlLog extends BasicModel
{
    use SoftDelete;

    /**
     * 普通类型链接
     */
    const NORMAL = 'normal';
    /**
     * 永久链接
     */
    const PERMANENT = 'permanent';
    /**
     * 临时链接
     */
    const TEMPORARY = 'temporary';

    /**
     * 正常的
     */
    const STATUS_NORMAL = 1;

    /**
     * 已过期
     */
    const STATUS_OVERDUE = 2;

    /**
     * 禁用
     */
    const STATUS_FORBIDEN = 0;

    public static $sceneMap = [
        'normal'    => '普通链接',
        'permanent' => '永久链接',
        'temporary' => '临时链接'
    ];

    public static $sceneCss = [
        'normal'    => 'label label-outline-primary',
        'permanent' => 'label label-outline-dark',
        'temporary' => 'label label-outline-yellow'
    ];

    public static $status = [
        '禁用',
        '正常',
        '过期'
    ];

    public static $statusCss = [
        'label label-danger-light',
        'label label-primary-light',
        'label label-brown-light',
    ];

    protected $autoWriteTimestamp = true;

    protected $updateTime = false;

    public $schema = [
        'id'          => 'int',
        'url'         => 'string',#url
        'short_code'  => 'string',#短码
        'user_id'     => 'int',#创建人
        'expire_time' => 'int',//过期时间
        'create_time' => 'int',
        'scene'       => 'string',//permanent 永久的,temporary 临时的， normal普通的
        'status'      => 'int',// 1正常 2过期 0禁用
        'visit'       => 'int',// 访问数量
        'delete_time' => 'int',
    ];

}
